home *** CD-ROM | disk | FTP | other *** search
- // Copyright (C) 1997-2002 Alias|Wavefront,
- // a division of Silicon Graphics Limited.
- //
- // The information in this file is provided for the exclusive use of the
- // licensees of Alias|Wavefront. Such users have the right to use, modify,
- // and incorporate this code into other products for purposes authorized
- // by the Alias|Wavefront license agreement, without fee.
- //
- // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- // PERFORMANCE OF THIS SOFTWARE.
- //
- // Copyright (C) 1997-1999 Alias|Wavefront,
- // a division of Silicon Graphics Limited.
- //
- // The information in this file is provided for the exclusive use of the
- // licensees of Alias|Wavefront. Such users have the right to use, modify,
- // and incorporate this code into other products for purposes authorized
- // by the Alias|Wavefront license agreement, without fee.
- //
- // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- // PERFORMANCE OF THIS SOFTWARE.
- //
- //
- // Alias|Wavefront Script File
- // MODIFY THIS AT YOUR OWN RISK
- // Creation Date: September 15, 1997
- //
- //<doc>
- //<name substituteAllString>
- //<owner "Alias|Wavefront Unsupported">
- //
- //<synopsis>
- // string substituteAllString(string $text, string $searchStr, string $replaceStr)
- //
- //<description>
- // Substitute every occurrence of a single character string in a
- // text string by a new string of any length.
- //
- //<flags>
- // string $text - Original string to be modified.
- // string $searchStr - Single character string to replace.
- // string $replaceStr - String that will be added in.
- //
- //<returns>
- // string: The new text string with the replacement strings in it.
- //
- //<examples>
- // string $text = "one + two + three + four";
- // string $result = substituteAllString($text, "+", "plus");
- // print $result;
- //
- //</doc>
- //
-
- global proc string substituteAllString(
- string $text,
- string $searchStr,
- string $replaceStr )
- {
- string $totalText = "";
- int $stringLen = `size $text`;
- int $searchStringLen = `size $searchStr`;
- string $subStr;
- int $i, $nextIndex;
- for ( $i = 1; $i <= $stringLen; $i++ )
- {
- // get the subtring from the text starting at the current index and
- // that is the same length as the search string
- //
- $nextIndex = $i + $searchStringLen - 1;
- $subStr = `substring $text $i $nextIndex`;
-
- if ( $subStr == $searchStr )
- {
- // replace found string in the text string
- //
- $totalText = $totalText + $replaceStr;
- }
- else
- {
- // keep the substring in the text string
- //
- $totalText = $totalText + $subStr;
- }
- }
-
- return $totalText;
- }
-